home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD005b.dsk / MATH.bas < prev    next >
BASIC Source File  |  2003-06-12  |  4KB  |  133 lines

  1. 0  ONERR  GOTO 850
  2. 10  REM  MATH
  3. 20  REM  BY IAN PILCHER
  4. 30  REM  2/2/82
  5. 40  GOTO 850
  6. 50  REM  **MULTIPLICATION**
  7. 60 T1 =  INT( RND(1) *11)
  8. 70 T2 =  INT( RND(1) *11)
  9. 80  PRINT T1;" * ";T2;" = ";
  10. 81  INPUT A
  11. 90  IF A = T1 *T2  THEN P = 1: GOTO 130
  12. 100  PRINT : PRINT "WOOPS! NOT TOO GOOD, BETTER TRY AGAIN."
  13. 110  PRINT T1;" * ";T2;" = ";
  14. 111  INPUT A
  15. 120 P = .5
  16. 125  IF A < >T1 *T2  THEN P = 0
  17. 130 PM = PM +1
  18. 140 XM = XM +P
  19. 150  REM  PM IS POSSIBLE FOR MULTIPLICATION
  20. 160  REM  XM IS POINTS FOR MULTIPLICATION
  21. 170  IF P = 0  THEN  PRINT "BOTH ANSWERS YOU ENTERED WERE WRONG!": GOTO 190
  22. 180  PRINT "YOUR ANSWER WAS RIGHT ON TRY #";1/P;"!"
  23. 190  RETURN 
  24. 200  REM  **DIVISION**
  25. 210 T2 =  INT( RND(1) *10) +1
  26. 220 A =  INT( RND(1) *11)
  27. 230 T1 = T2 *A
  28. 235 A = 0
  29. 240  PRINT T1;" / ";T2;" = ";
  30. 241  INPUT A
  31. 250  IF A = T1/T2  THEN P = 1: GOTO 290
  32. 255  PRINT "NOPE, THAT'S NOT RIGHT. TRY AGAIN."
  33. 260  PRINT T1;" / ";T2;" = ";
  34. 270  INPUT A
  35. 280  IF A = T1/T2  THEN P = .5
  36. 290 PD = PD +1
  37. 300 XD = XD +P
  38. 310  IF P = 0  THEN  PRINT "BOTH OF THOSE RESPONSES WERE WRONG!": GOTO 330
  39. 320  PRINT "YOU WERE RIGHT ON TRY #";1/P;"!"
  40. 330  RETURN 
  41. 340  REM   **SUBTRTACTION**
  42. 350 T1 =  INT( RND(1) *10) +1
  43. 360 T2 =  INT( RND(1) *(T1 +1))
  44. 370  IF T1 <T2  THEN 350
  45. 380  PRINT T1;" - ";T2;" = ";
  46. 390  INPUT A
  47. 400  IF A = T1 -T2  THEN P = 1: GOTO 450
  48. 410  PRINT "COME ON NOW, WHAT IS ";
  49. 420  PRINT T1;" - ";T2;" = ";
  50. 430  INPUT A
  51. 440  IF A = T1 -T2  THEN P = .5
  52. 450 PS = PS +1
  53. 460 XS = XS +P
  54. 470  IF P = 0  THEN  PRINT "BOTH OF THEM WERE WRONG, YOU NEED MORE  PRACTICE.": GOTO 490
  55. 480  PRINT "YOUR ANSWER WAS CORRECT ON TRY #";1/P;"!"
  56. 490  RETURN 
  57. 500  REM  **ADDITION**
  58. 510 T1 =  INT( RND(1) *11)
  59. 520 T2 =  INT( RND(1) *11)
  60. 530  PRINT T1;" + ";T2;" = ";
  61. 540  INPUT A
  62. 550  IF A = T1 +T2  THEN P = 1: GOTO 600
  63. 560  PRINT "THAT'S NOT RIGHT. NOW TRY AGAIN."
  64. 570  PRINT T1;" + ";T2;" = ";
  65. 580  INPUT A
  66. 590  IF A = T1 +T2  THEN P = .5
  67. 600 PA = PA +1
  68. 610 XA = XA +P
  69. 620  IF P = 0  THEN  PRINT "THAT WASN'T TOO GOOD, YOU NEED SOME MOREPRACTICE.": GOTO 640
  70. 630  PRINT "RESPONSE #";1/P;" WAS CORRECT."
  71. 640  RETURN 
  72. 650  INPUT "OUTPUT TO PRINTER ALSO (Y/N)? ";Q$
  73. 651  IF  LEFT$(Q$,1) = "Y"  THEN  PR# 1
  74. 652  HOME 
  75. 660  PRINT "SUBJ."; TAB( 10);"POSSIBLE"; TAB( 20);"SCORE"; TAB( 30);"PERCENTAGE"
  76. 670  PRINT "----------------------------------------"
  77. 680  PRINT 
  78. 685  IF PA = 0  THEN  PRINT "ADD.";: HTAB 10: INVERSE : PRINT "NONE": NORMAL : GOTO 700
  79. 690  PRINT "ADD."; TAB( 10);PA; TAB( 20);XA; TAB( 30);(XA/PA) *100;"%"
  80. 700  PRINT : PRINT : PRINT 
  81. 710  IF PS = 0  THEN  PRINT "SUB.";: HTAB 10: INVERSE : PRINT "NONE": NORMAL : GOTO 730
  82. 720  PRINT "SUB."; TAB( 10);PS; TAB( 20);XS; TAB( 30);(XS/PS) *100;"%"
  83. 730  PRINT : PRINT : PRINT 
  84. 740  IF PM = 0  THEN  PRINT "MULT.";: HTAB 10: INVERSE : PRINT "NONE": NORMAL : GOTO 760
  85. 750  PRINT "MULT."; TAB( 10);PM; TAB( 20);XM; TAB( 30);(XM/PM) *100;"%"
  86. 760  PRINT : PRINT : PRINT 
  87. 770  IF PD = 0  THEN  PRINT "DIV.";: HTAB 10: INVERSE : PRINT "NONE": NORMAL : GOTO 790
  88. 780  PRINT "DIV."; TAB( 10);PD; TAB( 20);XD; TAB( 30);(XD/PD) *100;"%"
  89. 790  PRINT : PRINT : PRINT 
  90. 800 PT = PA +PS +PM +PD
  91. 810 XT = XA +XS +XM +XD
  92. 820  IF PT = 0  THEN  PRINT "TOTAL";: HTAB 10: INVERSE : PRINT "NONE": NORMAL : GOTO 840
  93. 830  PRINT "TOTAL"; TAB( 10);PT; TAB( 20);XT; TAB( 30);(XT/PT) *100;"%"
  94. 831  PR# 0
  95. 840  RETURN 
  96. 850  TEXT : HOME : NORMAL : SPEED= 255
  97. 851  HTAB 18
  98. 852  INVERSE 
  99. 853  PRINT "MENU"
  100. 854  NORMAL 
  101. 855  VTAB 20
  102. 856  HTAB 1
  103. 857  PRINT "NOTE: GETTING THE PROBLEM RIGHT THE     SECOND TIME EARNS HALF CREDIT."
  104. 860  VTAB 5
  105. 870  PRINT  TAB( 5);"1) ADDITION"
  106. 880  PRINT  TAB( 5);"2) SUBTRACTION"
  107. 890  PRINT  TAB( 5);"3) MULTIPLICATION"
  108. 900  PRINT  TAB( 5);"4) DIVISION"
  109. 910  PRINT 
  110. 920  PRINT  TAB( 5);"5) CURRENT SCORE"
  111. 921  PRINT  TAB( 5)"6) RESTART PROGRAM"
  112. 922  PRINT 
  113. 923  PRINT  TAB( 5)"7) QUIT"
  114. 930  PRINT : PRINT : PRINT 
  115. 940  PRINT "PLEASE PRESS THE NUMBER CORRESPONDING TOYOUR CHOICE.  ";
  116. 950  GET O$
  117. 960 O =  VAL(O$)
  118. 970  IF O = 0  THEN 850
  119. 975  IF O >7  THEN 850
  120. 976 T1 = 0:T2 = 0:A = 0:P = 0
  121. 977  HOME 
  122. 980  ON O GOSUB 500,340,50,200,650,1090,1080
  123. 990  VTAB 23
  124. 1000  HTAB 1
  125. 1010  INVERSE 
  126. 1020  PRINT "PRESS ANY KEY TO CONTINUE"
  127. 1030  NORMAL 
  128. 1040 K =  PEEK( -16384)
  129. 1050  IF K < = 127  THEN 1040
  130. 1060  POKE  -16368,0
  131. 1070  GOTO 850
  132. 1080  END 
  133. 1090  RUN